#include "widget.h"
#include "ui_widget.h"
#include <QMessageBox>
#include <QtDebug>
#include <QString>


Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}


//按键消息响应函数：
void Widget::on_pushButton_clicked()
{
    //弹出提示弹窗
    //QMessageBox::question(this,"hello","qt");

    //输出在调试下面的窗口上：
    //qDebug()<<"hello lifei"<<endl;

    //多行注释快捷键：ctrl + /
//    static int n = 0;
//    qDebug()<<n++<<endl;

    //字符串：
    QString str = "lifei";
//    if(true == str.isEmpty())
//    {
//        qDebug()<<"为空"<<" ";
//    }
//    else
//    {
//        qDebug()<<"不为空"<<" ";
//    }

    //插入：
        //后插：
    str.append("+is");
    str.append('a');
    str.append(str);
        //前插：
    str.prepend("woshi+");

    qDebug()<<str;
    qDebug()<<str.length()<<str.count()<<str.size()<<endl;   //QString的长度


    //字符串截取函数：
    QString str2 = str.left(4);
    QString str3 = str.right(5);
    QString str4 = str.mid(10,4);
    str4.clear();
    qDebug()<<str2<<str3<<str4<<endl;


    //insert 插入：
    QString str5 = "lifeifeifeifei";
    QString str6 = str5.insert(4,"***");
    qDebug()<<str6<<endl;


    //替换：
    str6.replace("***","666");
    str6.replace('l',"*");
    str6.replace(2,3,"i");
    qDebug()<<str6<<endl;


    //移除：
    str6.remove("66");
    str6.remove("ii");
    str6.remove(0,2);
   qDebug()<<str6<<endl;


   //大小写转换：
   QString str7 = str6.toUpper();       //转大写：
   qDebug()<<str7<<endl;
   QString str8 = str7.toLower();       //转小写：
   qDebug()<<str8<<endl;


   //类型转换：
   QString str9 = "12345";
   short ret = str9.toShort();//str9.toUShort();
   qDebug()<<ret<<endl;
   //....
   std::string str10 = str9.toStdString();
   //qDebug()<<str10<<endl;


   //比较大小：
    QString str11 = "abc";
    QString str12 = "ABC";
    if(str11.compare(str12) > 0)
    {
        qDebug()<<"str11大"<<endl;
    }
    else if(str11.compare(str12) == 0)
    {
        qDebug()<<"一样大"<<endl;
    }
    else
    {
        qDebug()<<"str12大"<<endl;
    }


    //格式化：
    QString str13 = "hello %1 %2 %3";
    QString str14 = str13.arg(10.5).arg("HHH").arg(66);
    qDebug()<<str14<<endl;
    //or:
    QString str15;
    str15.sprintf("%s:%d","lifeifei",666);
    qDebug()<<str15<<endl;


    //删除掉后几个元素：
    str15.chop(4);
    qDebug()<<str15<<endl;


    str15 = "C:\\Windows\\Desktop\\Qt";
    //字符串查找：
    int posnext = str15.indexOf('\\');      //从前往后查找
    qDebug()<<posnext<<endl;                //2

    int pospre = str15.lastIndexOf('\\');   //从后往前查找
    qDebug()<<pospre<<endl;                 //18
    //截取：
    qDebug()<<str15.right(str15.length() - pospre -1);



}
